#include<stdio.h>
#include<string.h>

int main()
{
  //以读写的方式打开文件text.txt 如果文件不存在则创建
  FILE*fp=fopen("./bite.txt","w+");
  if(fp==NULL)
  {
    perror("fopen error");
    return -1;
  }
  char*data="Linux so easy!";
  //将data中数据写入文件
  //fwrite(数据地址，块大小，块个数，句柄) 返回值为写入的字节大小
  size_t ret=fwrite(data,1,strlen(data),fp);
  //如果写入字节大小不等于字符串长度，说明写入失败
  if(ret!=strlen(data))
  {
    perror("fwrite error");
    fclose(fp);
    return -1;
  }

  //将文件指针位置偏移到文件起始位置（相对于起始位置偏移量为0）
  fseek(fp,0,SEEK_SET);
  //定义buf数组，存放从文件中读出的数据
  char buf[1024]={0};
  //从文件中读出1023个字节的数据
  ret=fread(buf,1,1023,fp);
  //如果返回值等于0，说明读取失败
  if(ret==0)
  {
    //判断是否到文件末尾
    if(feof(fp))
    {
      printf("end of file\n");
    }
    if(ferror(fp))
    {
      perror("fread error");
      fclose(fp);
      return -1;
    }
  }
  //输出从文件中读取的字符
  printf("%s\n",buf);
  fclose(fp);
  return 0;
}
